package org.dromara.xxmj.service;

import org.dromara.xxmj.domain.dto.StudyProgressDto;
import org.dromara.xxmj.domain.vo.CourseVideoDetailVo;
import org.dromara.xxmj.domain.vo.CourseVideoVo;

import java.util.List;

/**
 * 课程视频服务接口
 *
 * @author Vincent
 */
public interface ICourseVideoService {

    /**
     * 获取章节下的视频列表
     *
     * @param chapterId 章节ID
     * @return 视频列表
     */
    List<CourseVideoVo> listVideosByChapter(Long chapterId);

    /**
     * 获取视频详情
     *
     * @param id 视频ID
     * @return 视频详情
     */
    CourseVideoDetailVo getVideoDetail(Long id);

    /**
     * 更新视频观看进度
     *
     * @param dto 进度信息
     * @return 是否成功
     */
    Boolean updateProgress(StudyProgressDto dto);

    /**
     * 获取用户视频观看进度
     *
     * @param videoId 视频ID
     * @return 观看进度（秒）
     */
    Integer getVideoProgress(Long videoId);

} 